// AI聊天API - 支持自然语言转SQL查询
export function chat(data) {
    return fetch('/ai/api/sql/process', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify(data)
    }).then(response => {
        // 先检查响应状态
        if (!response.ok) {
            return response.text().then(errorText => {
                throw new Error(`请求失败: ${errorText}`);
            });
        }
        // 尝试解析为JSON（兼容后端返回的对象/数组）
        return response.json().catch(() => {
            // 若解析失败，返回文本格式
            return response.text();
        });
    });
}

// 仅生成SQL，不执行
export function generateSql(data) {
    return fetch('/ai/api/sql/generate', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify(data)
    }).then(response => {
        if (!response.ok) {
            return response.text().then(errorText => {
                throw new Error(`请求失败: ${errorText}`);
            });
        }
        return response.json();
    });
}

// 执行指定的SQL
export function executeSql(data) {
    return fetch('/ai/api/sql/execute', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify(data)
    }).then(response => {
        if (!response.ok) {
            return response.text().then(errorText => {
                throw new Error(`请求失败: ${errorText}`);
            });
        }
        return response.json();
    });
}

// 检查AI服务状态
export function checkAiService() {
    return fetch('/ai/api/sql/process', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify({ question: 'test' })
    }).then(response => {
        return response.ok;
    }).catch(() => {
        return false;
    });
}
